
#if defined POKEMOD_DEBUG
	new PM_STATE:g_iState = PM_DEBUG;
#else
	new PM_STATE:g_iState = PM_ENABLED;
#endif

new Int:g_iPlayerStats[ MAX_PLAYERS+1 ][ PM_STAT ];

new Int:g_iPlayerPokemonStats[ MAX_PLAYERS+1 ][ POKEMON_PER_PLAYER ][ PM_POKESTAT ];
new String:g_szPlayerPokemonNames[ MAX_PLAYERS+1 ][ POKEMON_PER_PLAYER ][ NAME_LEN ];
new Int:g_iPlayerPokemonOwner[ MAX_PLAYERS+1 ][ POKEMON_PER_PLAYER ][ NAME_LEN ];
new POKESKILL:g_iPlayerPokemonSkills[ MAX_PLAYERS+1 ][ POKEMON_PER_PLAYER ][ SKILLS_PER_POKEMON ];
new Int:g_iPlayerSkillPP[ MAX_PLAYERS+1 ][ POKEMON_PER_PLAYER ][ SKILLS_PER_POKEMON ];
new Int:g_iPlayerSkillCharges[ MAX_PLAYERS+1 ][ SKILLS_PER_POKEMON ];

new POKESKILL:g_iSkillID = SKILL_INVALID;
new Int:g_iSkillNum;
new Int:g_iPlayerSkillVariable[ MAX_PLAYERS+1 ][ SKILLS_PER_POKEMON ];
new Float:g_vPlayerSkillVector[ MAX_PLAYERS+1 ][ SKILLS_PER_POKEMON ][ 3 ];

new Int:g_iVictim;
new Int:g_iAttacker;
new Float:g_fDamage;
new Int:g_iDamageBits;
new Int:g_iWeaponID;
new Int:g_iHitZone;
new Float:g_fSpeed;

new Int:g_iPlayerBInfo[ 1 + _:PINFO_BOOL_END ];
new Int:g_iPlayerSInfo[ MAX_PLAYERS+1 ][ ( 1 + _:( PINFO_SHORT_END - PINFO_SHORT_START ) ) char ];
new Int:g_iPlayerLInfo[ MAX_PLAYERS+1 ][ ( 1 + _:( PINFO_LONG_END - PINFO_LONG_START ) ) ];


new PM_MENUS:g_iPlayerMenuType[ MAX_PLAYERS+1 ];
new Array:g_iPlayerMenus[ MAX_PLAYERS+1 ] = { Invalid_Array, ... };

new Int:g_iPlayerStatus[ MAX_PLAYERS+1 ][ PM_STATUS ][ PLAYER_STATUS ];

new Array:g_iPlayerItems[ MAX_PLAYERS+1 ] = { Invalid_Array, ... };

new Trie:g_iPlayerSpecials[ MAX_PLAYERS+1 ] = { Invalid_Trie, ... };

new Float:g_fSkillReadyTime[ MAX_PLAYERS+1 ];

new Trie:g_iFunctionTrie = Invalid_Trie;

new Int:g_iScriptInfo[ SCRIPT_INFO ] = { -1, ... };

new Trie:g_iSayCmdsTrie = Invalid_Trie;

new Int:g_iHudSync;
new Int:g_iStatHudSync;
new Int:g_iEntityLoop;

new Int:g_iLargestPlayer;

new Int:g_iForwardUseItem = -1;

new bool:g_bFoundModel[ POKE_MODELS ];
new bool:g_bFoundModelT[ POKE_MODELST ];
new bool:g_bFoundSound[ POKE_SOUNDS ];
new bool:g_bFoundSprite[ POKE_SPRITES ];

new Array:g_iPokemonNames = Invalid_Array;
new Array:g_iPokemonTells = Invalid_Array;
new Trie:g_iPokemonTrie = Invalid_Trie;

new Array:g_iSkillNames = Invalid_Array;
new Array:g_iSkillInfos = Invalid_Array;
new Trie:g_iSkillTrie = Invalid_Trie;
new String:g_szSkillHelp[ 128 ];

new Array:g_iItemNames = Invalid_Array;
new Array:g_iItemTells = Invalid_Array;
new Array:g_iItemProps = Invalid_Array;
new Trie:g_iItemTrie = Invalid_Trie;

new Array:g_iLocationNames = Invalid_Array;
new Array:g_iLocationTells = Invalid_Array;
new Trie:g_iLocationTrie = Invalid_Trie;
new Int:g_iLocationGlobal = -1;

new ROUND_STATE:g_iRoundState;

new SKILL_CALL:g_iSkillCalls = CALL_NONE;

new Int:mp_friendlyfire;
new Int:mp_logdetail;

new Int:g_msgScreenShake;
new Int:g_msgScreenFade;
new Int:g_msgScoreInfo;
new Int:g_msgDeathMsg;
new Int:g_msgDamage;

#if defined money_ul_included
new Int:g_iPluginUnlimMoney;
#endif


